//options
clear all
set maxvar  32000, permanently
set matsize 11000, permanently
set more off, permanently
global bootstraps 1000
set seed 23

// macros
global klmshare				: env klmshare
global projects				: env projects
global klmperry             : env klmperry
global storageb				: env storageb

global perrydatas       = "${klmperry}/CBA/data/perry/raw"
global perrydata        = "${klmperry}/CBA/data/perry/clean"
global masterinter  	= "${klmshare}/CurrentRAs/FredB/test"
global output           = "${projects}/ece_parenting/tex_files/other"
global dataperry        = "$klmperry/PerryPreschool/Data/Perry_PARI_and_Other_Data/PARI/DATA_PARI/"
global abcjpeanalysis   = "${klmshare}/Data_Central/Abecedarian/data/ABC-CARE/extensions/cba-iv/"
global dataihdp         = "${projects}/ece_parenting/data"
global dataihdp         = "$storageb/dc_data/"

cd  $dataihdp
use ihdp_data, clear
rename _all, lower

replace   bw = bw/1000
destring bwg , replace 

// impute iq
replace   stndscor =  iqcage     if stndscor ==.
replace   iqcage   =  stndscor   if iqcage ==.
foreach var of varlist stndscor iqcage { 
	replace `var' = mdi_24cor    if stndscor ==. & iqcage ==.
}
replace   stndscor =  iqcage     if stndscor ==.
replace   iqcage   =  stndscor   if iqcage ==.

// list relevant variables
global baseline_child      twin sex bw anga black hispanic 
global baseline_mother     mage meduc works married 
global baseline_household  welfare tot_siblings_natural employed_adult
global baseline_economy    employment medinc gpc
global outputs             iqcage stndscor 
global inputs              cum_avg_daycare_36m_sum

// mark all sample
reg $baseline_child
gen sample0 = e(sample)

// mark baseline sample
reg $baseline_child $baseline_mother $baseline_household $baseline_economy $outputs $inputs
gen sample1 = e(sample)

// parenting latents, ages 1 and 3
foreach var of varlist alt_subscale_1_12-alt_subscale_6_12 alt_subscale_1_36-alt_subscale_8_36 {
	summ `var'																									   if sample1 == 1
	gen  `var'_std = (`var' - r(mean))/r(sd)                                                                       if sample1 == 1
}
# delimit
sem (_cons@0 X -> alt_subscale_1_12_std) (_cons@0 X -> alt_subscale_2_12_std) (_cons@0 X -> alt_subscale_3_12_std) 
	(_cons@0 X -> alt_subscale_4_12_std) (_cons@0 X -> alt_subscale_5_12_std) (_cons@0 X -> alt_subscale_6_12_std) if sample1 == 1, method(adf);
predict parenting_age1 if sample1 == 1, latent;
sem (_cons@0 X -> alt_subscale_1_36_std) (_cons@0 X -> alt_subscale_2_36_std) (_cons@0 X -> alt_subscale_3_36_std) (_cons@0 X -> alt_subscale_4_36_std)
	(_cons@0 X -> alt_subscale_5_36_std) (_cons@0 X -> alt_subscale_6_36_std) (_cons@0 X -> alt_subscale_7_36_std) (_cons@0 X -> alt_subscale_8_36_std) if sample1 == 1, 
																																						 cov(e.alt_subscale_1_36_std*e.alt_subscale_2_36_std)
																																						 cov(e.alt_subscale_3_36_std*e.alt_subscale_4_36_std)
																																						 cov(e.alt_subscale_5_36_std*e.alt_subscale_6_36_std)
																																						 cov(e.alt_subscale_7_36_std*e.alt_subscale_8_36_std)
																																						 cov(e.alt_subscale_4_36_std*e.alt_subscale_7_36_std)
																																						 cov(e.alt_subscale_2_36_std*e.alt_subscale_7_36_std) method(adf);		
 predict parenting_age3 if sample1 == 1, latent;
# delimit cr
egen    parenting_ages13 = rowmean(parenting_age1 parenting_age3) if sample1 == 1

global inputs_std   cum_avg_daycare_36m_sum parenting_ages13
keep   ihdp site tg bwg sample* $baseline_child $baseline_mother $baseline_household $baseline_economy $inputs_std $outputs ppvtstd wasifsiq

// merge in ages 5 and 8
merge 1:1 ihdp using iqchildhoodihdp
keep  if _merge == 3
drop _merge

// impute iq
replace kidppvt5 = wippsif5 if kidppvt5 ==.
replace wippsif5 = kidppvt5 if wippsif5 ==.

replace ppvtstd8 = fsiq8    if ppvtstd8 ==.
replace fsiq8    = ppvtstd8 if fsiq8    ==.

replace ppvtstd  = wasifsiq if ppvtstd  ==.
replace wasifsiq = ppvtstd  if wasifsiq ==.

reg fsiq8 ppvtstd8 kidppvt5 wippsif5 wasifsiq ppvtstd
gen sample2 = e(sample) 

// outcomes
merge 1:1 ihdp using adultihdp
keep if _merge == 3
drop    _merge

// construct "positive" outcomes
replace idle18y         = 1 - idle18y
replace sch_eversped18y = 1 - sch_eversped18y
replace sch_math18y     = 1 - sch_math18y
replace sch_read18y     = 1 - sch_read18y
replace sch_thrp18y     = 1 - sch_thrp18y
replace teen18y         = 1 - teen18y

gen     smoke18 = .
replace smoke18 = 1 if cigs18y >  0  & cigs18y != .
replace smoke18 = 0 if cigs18y == 0 & cigs18y != .
replace smoke18 = 1 - smoke18

gen     absence18 = .
replace absence18 = 0 if sch_dabs18y < 5  & sch_dabs18y != .
replace absence18 = 1 if sch_dabs18y >= 5 & sch_dabs18y != .
replace absence18 = 1 - absence18 

// marking missing
global ed18  sch_eversped18y sch_math18y sch_read18y sch_test18y
global beh18 smoke18 idle18y sch_thrp18y teen18y
egen missing     = rowmiss($ed18 $beh18)

// average
egen avg_outcome_educ18 = rowmean($ed18)        if missing == 0
egen avg_outcome_beh18  = rowmean($beh18)       if missing == 0
egen avg_outcome18      = rowmean(avg_outcome_educ18 avg_outcome_beh18) if missing == 0

// define sample
reg     avg_outcome18 if sample2 == 1
replace sample2 = 0   if e(sample) == 0
replace sample2 = 0   if   sample1 == 0

// standardize by sample
foreach num of numlist 0(1)2 {
	gen p`num' = parenting_ages13                  if sample`num' == 1
	summ     p`num' if tg == 0                      & sample`num' == 1
	replace  p`num' = (p`num' - r(mean))/r(sd)     if sample`num' == 1
	replace  p`num' = p`num' + 100                 if sample`num' == 1
	gen      c`num' = cum_avg_daycare_36m_sum      if sample`num' == 1
	summ     c`num'  if tg == 0                     & sample`num' == 1
	replace  c`num'  = (c`num'    - r(mean))/r(sd) if sample`num' == 1
	replace  c`num'  =  c`num'    + r(mean)        if sample`num' == 1
}

rename p1 p 
rename c1 c
rename iqcage iq
rename avg_outcome18      all18

// groups
global g1 if twin == 0
global g2 if twin == 0 & tot_siblings_natural == 0
global g3 if twin == 0 & tot_siblings_natural >= 1 & mage <= 22 & mage !=.
global g4 if twin == 0 & tot_siblings_natural >= 1 & mage  > 22 & mage !=.
global g5 if twin == 1

// samples for each outcome
global sample_c     sample1 == 1
global sample_p     sample1 == 1
global sample_iq    sample1 == 1
global sample_all18 sample2 == 1

// control means and treatment effects
foreach var of varlist c p iq all18 {
	matrix `var' = J(1,3,.)
	foreach group of numlist 1 {
		bootstrap, strata(bwg site tg) reps($bootstraps) : reg `var' tg ${g`group'} & ${sample_`var'}
		matrix  b0`var'_g`group' = e(b)[1,2]
		matrix  b1`var'_g`group' = e(b)[1,1]
		matrix se`var'_g`group' = sqrt(e(V)[1,1])
		matrix  t`var'_g`group' = abs(b1`var'_g`group'[1,1]/se`var'_g`group'[1,1])
		matrix df`var'_g`group' = e(N) - e(rank)
		matrix  p`var'_g`group' = 2*(1 - normal(t`var'_g`group'[1,1]))
		matrix  n`var'_g`group' = e(N)
		
		matrix `var'_g`group' = [b0`var'_g`group',b1`var'_g`group',n`var'_g`group']
		matrix `var'_g`group' = [`var'_g`group' \ [.,p`var'_g`group',.]]
		matrix `var' = [`var' \ `var'_g`group']
	}
	foreach group of numlist 2(1)4 {
		bootstrap, strata(bwg site tg) reps($bootstraps) : reg `var' tg ${g`group'} & ${sample_`var'}
		matrix  b0`var'_g`group' = e(b)[1,2]
		matrix  b1`var'_g`group' = e(b)[1,1]
		matrix se`var'_g`group' = sqrt(e(V)[1,1])
		matrix  t`var'_g`group' = abs(b1`var'_g`group'[1,1]/se`var'_g`group'[1,1])
		matrix df`var'_g`group' = e(N) - e(rank)
		matrix  p`var'_g`group' = (1 - normal(t`var'_g`group'[1,1]))
		matrix  n`var'_g`group' = e(N)
		
		matrix `var'_g`group' = [b0`var'_g`group',b1`var'_g`group',n`var'_g`group']
		matrix `var'_g`group' = [`var'_g`group' \ [.,p`var'_g`group',.]]
		matrix `var' = [`var' \ `var'_g`group']
	}
	foreach group of numlist 5 {
		bootstrap, strata(bwg site tg) reps($bootstraps) : reg `var' tg ${g`group'} & ${sample_`var'}
		matrix  b0`var'_g`group' = e(b)[1,2]
		matrix  b1`var'_g`group' = e(b)[1,1]
		matrix se`var'_g`group' = sqrt(e(V)[1,1])
		matrix  t`var'_g`group' = abs(b1`var'_g`group'[1,1]/se`var'_g`group'[1,1])
		matrix df`var'_g`group' = e(N) - e(rank)
		matrix  p`var'_g`group' = 2*(1 - normal(t`var'_g`group'[1,1]))
		matrix  n`var'_g`group' = e(N)
		
		matrix `var'_g`group' = [b0`var'_g`group',b1`var'_g`group',n`var'_g`group']
		matrix `var'_g`group' = [`var'_g`group' \ [.,p`var'_g`group',.]]
		matrix `var' = [`var' \ `var'_g`group']
	}
	matrix `var' = `var'[2...,1...]
	matrix colnames `var' = `var'_c `var'_te `var'_n
}
matrix all = [c[1...,1..2],p[1...,1..2],iq[1...,1..2],all18[1...,1..2]]

// differences in treatment effects
// all
// twins vs. singletons
gen singleton = 1 - twin
foreach var of varlist c p iq all18 {
	gen  `var'_hip1 = `var'
	foreach sib in 0 1 {
		summ    `var'_hip1                        if tg == 0 & twin == `sib'               & ${sample_`var'}
		replace `var'_hip1 = `var'_hip1 - r(mean) if twin == `sib'                         & ${sample_`var'}
	}
	bootstrap, strata(bwg site tg) reps($bootstraps) : reg `var'_hip1 singleton if tg == 1 & ${sample_`var'}
	matrix  b`var'_hip1 = e(b)[1,1]
	matrix se`var'_hip1 = sqrt(e(V)[1,1])
	matrix  t`var'_hip1 = abs(b`var'_hip1[1,1]/se`var'_hip1[1,1])
	matrix df`var'_hip1 = e(N) - e(rank)
	matrix  p`var'_hip1 = (1 - normal(t`var'_hip1[1,1]))
	
	matrix `var'_hip1 = [b`var'_hip1,p`var'_hip1]
}

// singletons
// long vs. short
gen     longs  = 0 if twin == 0 & tot_siblings_natural >= 1 & mage <= 22 & mage !=.
replace longs  = 1 if twin == 0 & tot_siblings_natural >= 1 & mage  > 22 & mage !=.
gen     shorts = 1 - longs
foreach var of varlist c p iq all18 {
	gen  `var'_hip2 = `var'
	foreach group in 3 4 {
		summ    `var'_hip2                        ${g`group'} & tg == 0 &  ${sample_`var'}
		replace `var'_hip2 = `var'_hip1 - r(mean) ${g`group'}			&  ${sample_`var'}
	}
	bootstrap, strata(bwg site tg) reps($bootstraps) : reg `var'_hip2 longs if tg == 1 & ${sample_`var'}
	matrix  b`var'_hip2 = e(b)[1,1]
	matrix se`var'_hip2 = sqrt(e(V)[1,1])
	matrix  t`var'_hip2 = abs(b`var'_hip2[1,1]/se`var'_hip2[1,1])
	matrix df`var'_hip2 = e(N) - e(rank)
	matrix  p`var'_hip2 = (1 - normal(t`var'_hip2[1,1]))
	
	matrix `var'_hip2 = [b`var'_hip2,p`var'_hip2]
}


matrix all = [J(7,8,.)  \ all[1..8,1...] \ J(1,8,.) \ all[9...,1...] \ J(4,8,.) \ [c_hip1,p_hip1,iq_hip1,all18_hip1] \ J(1,8,.) \ [c_hip2,p_hip2,iq_hip2,all18_hip2]]
clear
svmat all
gen   n = _n

// format
foreach var of varlist all* {
	gen    `var'and = "&" if n !=1
}

// header
gen all0and = "&" if n != 1
gen       all1_0 = "\begin{tabular}{ l cccccccc} \toprule"    if n == 1

replace all1_0   = " "                    	       if n == 2
replace all0and  = " & \multicolumn{1}{c}{(1)}"    if n == 2
replace all1and  = " & \multicolumn{1}{c}{(2)}"    if n == 2
replace all2and  = " & \multicolumn{1}{c}{(3)}"    if n == 2
replace all3and  = " & \multicolumn{1}{c}{(4)}"    if n == 2
replace all4and  = " & \multicolumn{1}{c}{(5)}"    if n == 2
replace all5and  = " & \multicolumn{1}{c}{(6)}"    if n == 2
replace all6and  = " & \multicolumn{1}{c}{(7)}"    if n == 2
replace all7and  = " & \multicolumn{1}{c}{(8)}"    if n == 2

replace all1_0   = "  \multicolumn{9}{l}{\textbf{\textit{Panel a}. Summary of Treatment Effects}}"               if n == 3
replace all0and  = "   "           						      		                		   					 if n == 3
replace all1and  = "   "           						      		                		   					 if n == 3
replace all2and  = "   "           						      		                		   					 if n == 3
replace all3and  = "   "           						      		               			   					 if n == 3
replace all4and  = "   "           						      		               			   					 if n == 3
replace all5and  = "   "           						      		               			   					 if n == 3
replace all6and  = "   "           						      		               			   					 if n == 3
replace all7and  = "   "           						      		               			   					 if n == 3

replace all1_0   = " & "                    	      		    	    	   if n == 4
replace all0and  = "  \multicolumn{2}{c}{Childcare}"     			           if n == 4
replace all1and  = "   "           						      		           if n == 4
replace all2and  = "  & \multicolumn{2}{c}{Parenting}"     		   			   if n == 4
replace all3and  = "   "           						      		           if n == 4
replace all4and  = "  & \multicolumn{2}{c}{Cognition}"     		   		   	   if n == 4
replace all5and  = "   "           						      		           if n == 4
replace all6and  = "  & \multicolumn{2}{c}{Age-18 Average Index}"     		   if n == 4
replace all7and  = "   "           						      		           if n == 4

replace all1_0   = " "                    	      		    	    if n == 5
replace all0and  = " & \multicolumn{1}{c}{Control}"       			if n == 5
replace all1and  = " & \multicolumn{1}{c}{$ \Delta $}"        		if n == 5
replace all2and  = " & \multicolumn{1}{c}{Control}"       			if n == 5
replace all3and  = " & \multicolumn{1}{c}{$ \Delta $}"        		if n == 5
replace all4and  = " & \multicolumn{1}{c}{Control}"       			if n == 5
replace all5and  = " & \multicolumn{1}{c}{$ \Delta $}"        		if n == 5
replace all6and  = " & \multicolumn{1}{c}{Control}"       			if n == 5
replace all7and  = " & \multicolumn{1}{c}{$ \Delta $}"        		if n == 5

replace all1_0   = " "                    	      		    	   		    if n == 6
replace all0and  = " & \multicolumn{1}{c}{ }"       					    if n == 6
replace all1and  = " & \multicolumn{1}{c}{$ [p \text{-value}] $}"           if n == 6
replace all2and  = " & \multicolumn{1}{c}{ }"       					    if n == 6
replace all3and  = " & \multicolumn{1}{c}{$ [p \text{-value}] $}"           if n == 6
replace all4and  = " & \multicolumn{1}{c}{ }"       					    if n == 6
replace all5and  = " & \multicolumn{1}{c}{$ [p \text{-value}] $}"           if n == 6
replace all6and  = " & \multicolumn{1}{c}{ }"       					    if n == 6
replace all7and  = " & \multicolumn{1}{c}{$ [p \text{-value}] $}"           if n == 6

replace all1_0   = "  \multicolumn{9}{l}{\hspace{2mm} \textbf{\textit{Panel a1}. Singletons}}"    if n == 7
replace all0and  = "   "           						      		                		      if n == 7
replace all1and  = "   "           						      		                		      if n == 7
replace all2and  = "   "           						      		                		      if n == 7
replace all3and  = "   "           						      		               			      if n == 7
replace all4and  = "   "           						      		               			      if n == 7
replace all5and  = "   "           						      		               			      if n == 7
replace all6and  = "   "           						      		               			      if n == 7
replace all7and  = "   "           						      		               			      if n == 7

replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} All}" 		 		             if n == 8
replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ \text{Siblings} = 0 $ }"         if n == 10
replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ \text{Siblings} > 0, $}"         if n == 12
replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ \text{Short Spacing} $}"         if n == 13
replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ \text{Siblings} > 0, $}"         if n == 14
replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ \text{Long Spacing} $}"          if n == 15


replace all1_0   = "  \multicolumn{7}{l}{\hspace{2mm} \textbf{\textit{Panel a2}. Twins}}"      if n == 16
replace all0and  = "   "           						      		                		   if n == 16
replace all1and  = "   "           						      		                		   if n == 16
replace all2and  = "   "           						      		                		   if n == 16
replace all3and  = "   "           						      		               			   if n == 16
replace all4and  = "   "           						      		               			   if n == 16
replace all5and  = "   "           						      		               			   if n == 16
replace all6and  = "   "           						      		               			   if n == 16
replace all7and  = "   "           						      		               			   if n == 16

replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} All}" 		 		                   if n == 17

replace all1_0   = "  \multicolumn{9}{l}{\textbf{\textit{Panel b}. Tests of Differences in Treatment Effects}}"    if n == 19
replace all0and  = "   "           						      		                		   					   if n == 19
replace all1and  = "   "           						      		                		   					   if n == 19
replace all2and  = "   "           						      		                		   					   if n == 19
replace all3and  = "   "           						      		               			   					   if n == 19
replace all4and  = "   "           						      		               			   					   if n == 19
replace all5and  = "   "           						      		               			   					   if n == 19
replace all6and  = "   "           						      		               			   					   if n == 19
replace all7and  = "   "           						      		               			   					   if n == 19

replace all1_0   = " & "                    	      		    			   if n == 20
replace all0and  = "  \multicolumn{2}{c}{Childcare}"     			   		   if n == 20
replace all1and  = "   "           						      		           if n == 20
replace all2and  = "  & \multicolumn{2}{c}{Parenting}"     		   			   if n == 20
replace all3and  = "   "           						      		           if n == 20
replace all4and  = "  & \multicolumn{2}{c}{Cognition}"     		   			   if n == 20
replace all5and  = "   "           						      		           if n == 20
replace all6and  = "  & \multicolumn{2}{c}{Age-18 Average Index}"     		   if n == 20
replace all7and  = "   "           						      		           if n == 20

replace all1_0   = " "                    	      		    	    if n == 21
replace all0and  = " & \multicolumn{1}{c}{Difference}"              if n == 21
replace all1and  = " & \multicolumn{1}{c}{$ [p \text{-value}] $}"   if n == 21
replace all2and  = " & \multicolumn{1}{c}{Difference}"              if n == 21
replace all3and  = " & \multicolumn{1}{c}{$ [p \text{-value} ] $}"  if n == 21
replace all4and  = " & \multicolumn{1}{c}{Difference}"              if n == 21
replace all5and  = " & \multicolumn{1}{c}{$ [p \text{-value} ] $}"  if n == 21
replace all6and  = " & \multicolumn{1}{c}{Difference}"              if n == 21
replace all7and  = " & \multicolumn{1}{c}{$ [p \text{-value} ] $}"  if n == 21

replace all1_0   = "  \multicolumn{9}{l}{\hspace{2mm} \textbf{\textit{Panel b1}. All}}"        if n == 22
replace all0and  = "   "           						      		                		   if n == 22
replace all1and  = "   "           						      		                		   if n == 22
replace all2and  = "   "           						      		                		   if n == 22
replace all3and  = "   "           						      		               			   if n == 22
replace all4and  = "   "           						      		               			   if n == 22
replace all5and  = "   "           						      		               			   if n == 22
replace all6and  = "   "           						      		               			   if n == 22
replace all7and  = "   "           						      		               			   if n == 22

replace all1_0   = "  \multicolumn{9}{l}{\hspace{2mm} \textbf{\textit{Panel b2}.} $ \bm{ \textbf{Singletons, Siblings} > 0} $ }" if n == 24
replace all0and  = "   "           						      		                		   if n == 24
replace all1and  = "   "           						      		                		   if n == 24
replace all2and  = "   "           						      		                		   if n == 24
replace all3and  = "   "           						      		               			   if n == 24
replace all4and  = "   "           						      		               			   if n == 24
replace all5and  = "   "           						      		               			   if n == 24
replace all6and  = "   "           						      		               			   if n == 24
replace all7and  = "   "           						      		               			   if n == 24

replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ H_0: \Delta^{\text{Singletons}} = \Delta^{\text{Twins}}$ }" 		        if n == 23
replace all1_0  = "   \multicolumn{1}{l}{\hspace{4mm} $ H_0: \Delta^{\text{Long Spacing}} = \Delta^{\text{Short Spacing}} $ }" 		if n == 25

// order
global orderlist all1_0 all0and
foreach num of numlist 1(1)8 {
	global orderlist $orderlist all`num' all`num'and
}
order $orderlist
// other formating

replace all1and = "& ["       if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25  
replace all2and = "] &"       if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25  
replace all3and = "& ["       if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25  
replace all4and = "] &"       if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25
replace all5and = " & ["      if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25
replace all6and = "] &"      if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25
replace all7and = " & ["      if n == 9 | n == 11 | n == 13 | n == 15 | n == 18 | n == 23 | n == 25

replace all8and = "\\   "
replace all8and = "] \\ \\" 					    if n == 9 | n == 11 | n == 13 | n == 15 | n == 23
replace all8and = "  \\ \midrule " 					if n == 2
replace all8and = "] \\ \midrule " 			        if n == 18
replace all8and = "] \\ \bottomrule \end{tabular}"  if n == 25
replace all8and = " " 								if n == 1
replace all8and = "\\ \cmidrule(l{.15cm}r{.15cm}){2-3} \cmidrule(l{.15cm}r{.15cm}){4-5} \cmidrule(l{.15cm}r{.15cm}){6-7} \cmidrule(l{.15cm}r{.15cm}){8-9}"    if n == 6
replace all8and = "\\ \cmidrule(l{.15cm}r{.15cm}){2-3} \cmidrule(l{.15cm}r{.15cm}){4-5} \cmidrule(l{.15cm}r{.15cm}){6-7} \cmidrule(l{.15cm}r{.15cm}){8-9}" 	  if n == 21

// put together in string
gen all = " "
foreach num of numlist 1(1)8 {
	tostring all`num' , replace force format(%15.2fc)
	replace  all`num'  = "" if all`num'  == "."
}

global orderin all1_0 all0and
foreach num of numlist 1(1)8 {
	global orderin $orderin all`num' all`num'and 
}
global orderin $orderin all`num'
order $orderin n

foreach var of varlist all1_0-all8and {	
	replace  all = all + `var'
	replace  all`num' = " " if all`num' == "."
}

// save in tex format
keep all
cd $output
outsheet using parentingbysiblings.tex, noquote nonames replace
